Chrono Divide

📌

@chronodivide/game-api 使用教學與完整 API 對照表

本文完整介紹 @chronodivide/game-api 套件的主要功能與使用方式,適合希望開發 Chrono Divide AI Bot 的開發者或愛好者。從遊戲初始化、單位控制、建築建造、生產管理,到路徑尋找與地圖查詢,本教學涵蓋 ActionsApi、GameApi、MapApi、ProductionApi 等八大模組的實用方法,並說明如何在離線模式下進行遊戲迴圈控制與回放保存。無論你是首次接觸該 API,或是希望快速掌握其核心指令,這份教學都將幫助你高效開發具備自動化行為的 AI 對戰腳本 ...

| | 176 reads

Red Alert 2 灰熊坦克 vs 犀牛坦克:新手/老兵/菁英「一發秒殺」所需數量完整解析

關鍵字:RA2 火力計算、Yuri’s Revenge 傷害公式、Grizzly Tank、Rhino Tank、rules.ini 適用遊戲版本:Red Alert 2 / Yuri’s Revenge(官方 rules.ini 原始數值) GIF:本文僅插入「新手 × 新手」四種對決示意,其餘階級可自行延伸 ...

| | 5 reads

🤖 用 TypeScript 打造一個 Chrono Divide AI Bot:從部署到進攻的全自動流程解析

Chrono Divide 是一款基於 Red Alert 2 引擎重現的網頁即時戰略遊戲,提供了官方支援的 AI 開發 API。 本文將透過一份實戰程式碼,從零開始解析一個簡單的 AI Bot,教你如何讓 Bot 自動部署建造場、派兵出擊、發現敵人後主動攻擊 ...

| | 3 reads

Chrono Divide 1v1 Bot 設計筆記:ENGINEER 的行為邏輯設計

只要附近有可以佔領的建築物(例如油井、科技實驗室、醫院等),ENGINEER 將立即嘗試進入距離最近的一棟。這是一種被動觸發行為,主要設計給「偷車流」或快速佔點策略使用 ...

| | 6 reads

Chrono Divide 1v1 Bot 設計筆記:DOG 的行為邏輯設計

在設計 Chrono Divide 的 1v1 Bot 時,我特別為狗(DOG)單位規劃了專屬的行為邏輯。這篇筆記是我對 DOG 行動邏輯的設計與實作過程的記錄,也方便未來調整或擴展使用 ...

| | 4 reads

如何用 Chrono Divide Bot API 建造 Pillbox — 最簡範例教學

Chrono Divide 提供了強大的 bot API,允許我們透過 TypeScript 控制 AI 進行建造、移動、攻擊等行為。不過,在官方提供的 supalosa-chronodivide-bot 倉庫中,卻缺少一個從零開始、只示範建造一個 Pillbox(GAPILL)的簡易範例。 對新手來說,若想了解建造防禦建築的流程,必須翻閱多個檔案 ...

| | 4 reads

《紅色警戒 2》原版建築代碼總覽(盟軍與蘇軍)

在進行 Red Alert 2 的 Mod 開發、資料研究或任務設計時,我們經常需要一份清楚的「玩家可建造建築列表」。不過,這些資料實際上是分散在 rules.ini 裡面的 [BuildingTypes] 區段與各建築定義中。 本篇將帶你透過程式自動提取 rules.ini,並依照建造順序與顯示名稱整理出一份乾淨表格,方便查閱與引用 ...

| | 29 reads

@chronodivide/game-api-0.72.0-index.d.ts

這是@chronodivide/game-api-0.72.0-index.d.ts的詳細代碼文件 ...

| | 3 reads

PublicApi.createGame(opts)

以下程式片段引自 @chronodivide/game-api 的型別宣告檔 index.d.ts,createGame 為 PublicApi 類別的方法,其完整註解如下 ...

| | 3 reads

PublicApi.getAvailableGameModes(mapName)

以下程式碼片段節錄自套件 @chronodivide/game-api 的 dist/index.d.ts,可以看到 getAvailableGameModes 是 PublicApi 類別的一個方法,回傳值為 number[] ...

| | 2 reads

PublicApi.getAvailableMaps()

以下程式碼片段擷取自 @chronodivide/game-api 的型別宣告檔,可看到 getAvailableMaps() 為 PublicApi 類別的一部分,會在完成初始化後回傳可用地圖清單 ...

| | 4 reads

PublicApi.init(mixDir)

PublicApi.init(mixDir) 與初始化流程 在安裝套件後,PublicApi 是進入點,cdapi 即為其實例。 於 dist/index.d.ts 中可以看到此類別的宣告,其中 init 方法會接收一個 MIX 資料夾路徑並回傳 ...

| | 3 reads

ProductionApi.getQueueData(queueType)

以下程式碼節錄自 @chronodivide/game-api 套件的型別宣告檔案,可看到 ProductionApi 及 QueueData 等相關介面 ...

| | 6 reads

ProductionApi.getQueueTypeForObject(objRules)

ProductionApi.getQueueTypeForObject(objRules) 會根據物件的規則判斷它該被放入哪一種生產佇列。 在套件的型別宣告中可看到此方法及相關列舉 ...

| | 3 reads

ProductionApi.getAvailableObjects(queueType?)

ProductionApi.getAvailableObjects 會列出目前可投入生產佇列的單位或建築。 其型別與參數定義於 @chronodivide/game-api 中 ...

| | 3 reads

ProductionApi.isAvailableForProduction(objRules)

ProductionApi.isAvailableForProduction 的定義 在發佈的型別宣告中,ProductionApi 是用來管理建造佇列與相關邏輯的物件,isAvailableForProduction 判斷某單位/建築規則是否符合生產條件 ...

| | 5 reads

MapApi.getTileResourceData(tile) / getAllTilesResourceData()

MapApi.getTileResourceData(tile) 和 getAllTilesResourceData() 均由套件 @chronodivide/game-api 提供,用來查詢地圖上資源(礦石、寶石或礦井)的資訊。 在型別定義檔可看到這兩個方法的宣告,回傳型別為 TileResourceData ...

| | 6 reads

MapApi.isVisibleTile(tile, playerName, tileElevation?)

在 MapApi 中,isVisibleTile(tile, playerName, tileElevation?) 用來判斷某格子在指定高度是否已被玩家揭露(即不在迷霧或戰爭迷霧之下)。 型別聲明位於 index.d.ts,並給出簡短說明 ...

| | 1 reads

MapApi.findPath(speedType, subCell, from, to, options?)

findPath 是 MapApi 提供的路徑搜尋函式,其宣告位於 node_modules/@chronodivide/game-api/dist/index.d.ts。 介面說明如下 ...

| | 1 reads

MapApi.isPassableTile(tile, speedType, onBridge, subCell)

isPassableTile 是 MapApi 中判斷地塊是否可供單位通行的函式。在型別宣告中可看到兩個重載:其中一個需要明確傳入 subCell 參數 ...

| | 1 reads